关于 forecho | 蔡正海

网名forecho,5 年美股投资者,10 年程序开发。

RSS 地址: https://blog.forecho.com/atom.xml

请复制 RSS 到你的阅读器,或快速订阅到 :

forecho | 蔡正海 RSS 预览

家人被诈骗了

2024-03-17 00:01:00

引言

一个非常让人心痛的事情发生了,家人被诈骗了,从来没觉得诈骗离自己这么近。

这是一个非常痛苦的经历,我希望通过这篇文章来分享一下这个经历,希望能够帮助到更多的人免于受骗。

事情的经过

成为诈骗对象

他在富途上评论了某个股票,然后被人加了好友,然后私聊。刚开始就是闲聊,后面以发送一些电子书为由,让他加了 telegram。

刚开始也是闲聊,他也很少回复,但是只要是有回复,其实就有希望上钩,对方打感情牌,诈骗犯给自己设立一个很有好的形象,人在美国,有钱有闲,炒股炒币经验丰富。

上钩

wZeFze

闲聊了几个月之后,对于开始说自己在炒币赚钱,炒股赚钱太慢了,然后以「自己也是交易,带你也无妨」,然后就开始了,还以为自己遇到了一个贵人。

他刚开始也是不放心,也不是很懂币圈,但是那个贵人真得很有耐心,手把手教他怎么操作,然后就开始了。

先跟他说「我们用的是 Crypto.com,这个是一个很大的交易所,你可以去查一下」,其实用的是 Crypto Defi Wallet,然后在 Browser 里面输入一个网址,这个网址是一个场外的交易所,小白哪懂这些,跟着操作就行了。

刚开始也不是很信任这个网站,但是贵人带了他走完了一边流程,即转入一笔小额资金,然后买入一些币,赚到了一些钱,然后提现成功,整个流程很顺利,然后就放松了警惕。

PS: 图片上面的网址你不用刻意去记,因为他们过一段时间就会换一个新的网址。他们之前是 https://cryptodefibtc.com,后面改成了 https://www.bootcovenant.com/

疯狂的入金

得到你的信任之后,贵人就开始怂恿你多入金,这样就可以多赚一点,这个假的交易所玩的是交割期权,60s 的那种,贵人带你赚钱,不要太简单。在贪欲的驱使下,他就开始四处筹钱,甚至借了银行贷款,几天功夫就赚了 3 倍的资金,贵人也觉得差不多了,可以让他提现了。

提现失败

9s4buy

提现的时候,交易所客服说要交一笔手续费,核算下来要叫 13 万港币,当时还以为是提现的方式不同,所以要交的,而且当时想着提现的金额比手续费要多很多,这点手续费不算什么。如果一周之内不交手续费,就会有违约金,所以当时还挺着急的。

当时他还沉浸在「财务自由」的喜悦中,还在想这笔钱怎么回国内,怎么花。但是手续费交完之后,客服还依旧让等几天,3 天了还没反应,说是资料审核比较繁琐,要等一下。

紧接着,客服又说要交一笔利得税,需要总资金的 10%,当我知道这个事情之后立马觉得不对劲,当天晚上才问清楚他的整个情况,之前我一直以为他真的是在用 Crypto.com 交易,问完之后才知道他是在一个第三方的交易所交易,根据他这个情况,再结合我在网上找的资料,我 90% 确定他被诈骗了。

意识到被骗

当时他还是不相信,还觉得那个贵人不会诈骗他,要不是真没钱估计也交了。因为没钱交,所以他找贵人借,贵人在借与不借之间犹豫,他找客服要报税档案号想打电话到香港税务局确认,客服迟迟不给,最后还是咨询了税务局,咨询有这种情况吗?人家说利得税是给在香港工作的人交的,建议他报警。

最后估计是确认他被榨干了,贵人这边也把他拉黑了,Telegram 上面的聊天记录也被删除了。从那之后网站的客服也不再回复他的消息。

从这之后,他才意识到自己被骗了,但是已经晚了。

报警

香港税务局回复的邮件有一个报警的网址,在网上报警之后,香港警察主打联系了他,但是我们国内手机根本就接不到香港的电话,所以他也没接到。最后还是通过邮件沟通了,香港的警察还是很积极跟进,要求过去香港录口供。

深圳这边也报警了,但是警察了解情况之后,看你在香港报警了,就建议他去香港处理,深圳都没立案,不过这个事情,汇款都是在香港银行,所以香港警察处理起来会更方便。至于最后能不能追回损失,我也不知道有多大的希望。

总结

网上去搜,这种诈骗的案例还有很多,而且套路都是差不多的,不要觉得《孤注一掷》中的诈骗离你很远。他也从来没想过自己会遇到诈骗。

如何避免这种情况呢?我觉得最重要的是要提高自己的风险意识,其次:

外链

相关的诈骗案例:

轻松实现期权交易盈利 2.0 版本

2024-02-19 19:01:00

引言

去年中旬我开通了一个期权收费群,已经有很多小伙伴加入过了,详情可以看《轻松实现期权交易盈利》

已经过去半年多了,我们的社区也发生了一些变化,我今天来介绍一下这个群的 2.0 版本,如果你对美股、期权感兴趣,欢迎加入。

变化

沟通方式

之前一直用微信群沟通,但是微信群功能太弱了,开盘期间我会分享一些信号,但是有时候群友需要沟通,沟通消息会淹没信号,很容易让会员错失信号。所以我们迁移到了 Slack,用了几个月下来,感觉很棒。

我曾经工作过的公司用过 Slack 办公,用过之前就真的回不去了,非常适合沟通,效率很高。我曾一直想用 Slack 建立社区,没想到这次居然成功了。

微信只适合闲聊。

会员等级

Slack 有频道的功能,每个频道都可以设置权限以及通知方式,这两个功能非常强大。我们根据此功能设置了会员等级,不同等级的会员可以看到不同的频道,这样可以更好的管理会员。

之前一直只有期权收费档次,但是有些会员可能对期权不感兴趣,所以我们增加了一个股票收费档次,这样可以更好的服务会员。当然股票会员等级,除了没有期权频道权限外,其他服务都是一样的,价格是期权会员等级的一半。

策略转变

之前经常带有群友根据我发现的异常期权信号赌财报,赌财报就想着翻几倍,赌输了就归零。但是半年过去了,我觉得这种方式不可持续性,现在我们推荐成员多做趋势交易,在重要事件(CPI/非农数据/财报)之前轻仓,少赌财报,多做趋势交易。

等财报出来之后跟着趋势做也可以赚到钱。

期权跟单

之前只有我一个人发期权异常信号单给大家跟单,最近我花重金买了一个期权跟单服务,多了一种选择,大家可以两个一起跟,赚钱机会更多了。

读书会

授人以鱼不如授人以渔,我们会定期组织读书会,一起读和讨论一些经典的投资书籍,大家一起进步。(目前还在起步阶段)

Crypto 服务

目前也在规划中的服务,BTC 去年的涨幅大家都是有目共睹的,现在没人质疑它的价值了吧?炒币比炒 A 股好多了。

总结

目前社区 2.0 的方式已经运行了有 1 个月多了,效果非常好,另外我们还在不断的完善中,如果你对美股、期权、股票、炒币感兴趣,欢迎加入我们的社区。我们也有免费版的会员等级。

同时也欢迎之前的老用户回归,我们会给老用户一些优惠。微信加我:ipzone,备注:vip

更多

社区详情的介绍文档:《RichCalls Slack 社区开始文档》

2023 年终总结

2024-02-10 22:00:00

引言

今年初一,终于有时间写年终总结了,2023 年可能是我人生中最重要的一年,这一年我升级为爸爸了,而且我的职业也有了一些变化,虽然不知道接下来的路会怎样,但到目前为止,我还是很满意的。

回顾 2023

生活

7 月我的女儿出生了,从此之后我的生活发生了翻天覆地的变化,我开始学习如何照顾孩子,学习如何做父亲。在赚钱的同时,我还要兼顾家庭,但是时间有限,我必须学会如何分配自己的精力,寻找平衡。

这一年中比我更辛苦的是老婆,不管是生孩子还是后面带孩子,她投入了全部的精力,她真的是太辛苦了,我很感谢她。

老婆怀孕 8 个月之后还好有丈母娘过来帮忙,帮了我们 7 个月,真的是太感谢了。特别是宝宝刚出生的时候,我和老婆都不会照顾宝宝,她帮了我们很多。两个人带宝宝真的很累,特别是我们宝宝睡觉困难,哄睡太难了。

我们之前准备订月子中心的,但是中途发生了一件不愉快的事情,后来用了手段才成功拿回定金,现在回过头来,月子中的宝宝是最好带的,她只会吃和睡。越到后面越难带。

现在宝宝马上 7 个月了,我们也慢慢适应了,希望她能越来越乖巧,健康快乐成长。

健身

去年 10 月份会员卡到期了,我就没再去健身了,现在宝宝出生了,我更没有时间去健身了。我现在的身材真的是太差了,我希望明年能有时间去健身房。

学英语

自从宝宝出生之后也没时间学英语了,暂停了。我希望明年能有时间学英语。

工作

今年工作也发生了翻天覆地的变化,我的公司又「倒闭」了。去年做的项目,效果太差了,于是今年公司做了新项目,本想大干一场,结果中途又换了项目,最后项目也没做成,公司也没钱了,8 月份的工资到现在都没给,欠薪干到 11 月底,然后公司正式发通知宣布停工了(停工只发生活费),到现在我们还没拿到工资。

目前公司欠我们 5 个月工资和 1 个月的生活费。

这是我第三次遇到公司欠薪的事情了,打工人真的很难。这个公司已经干了 2 年多了。上一家公司是因为疫情倒闭了,最后拖了很久才发的工资,然后倒闭的裁员补偿到现在也没拿到。

现在又有了宝宝,在只有我们自己俩人带孩子的情况下,不太适合去找工作,所以我决定不上班了,之前不想上班我一直想做独立开发者赚钱,尝试之后发现太难了。但是今年慢慢地我发觉自己能靠美股赚钱,所以我决定转行了,我要做一名 Trader。

转行到 Trader 感觉是一种命中注定的事情,我从 2017 年开始接触美股,到现在已经快 7 年了,我一直在学习,我也一直在交易,我也一直在写美股相关的文章,以前一直没想过靠美股为生,就是玩玩,但是今年我感觉找到了适合自己的策略,而这个时候公司恰巧「倒闭」,而我恰好因为要照顾宝宝不能去上班,做美股 Trader 目前再适合不过了。

今年 ChatGPT 的诞生让我大为感叹,我是又开心又失落,开心的是我写代码更快了,ChatGPT + Github Copilot 真的是太香了,失落的是我觉得自己的核心竞争力又被削弱了,以后找工作可能会更难了。

技术

今年有机会接触了 WEB3、区块链技术,我写了一篇教程,但是因为粗心把自己的私钥上传到 Github 上了,为此我付出了 0.76 个以太坊的代价(详情见《我的 ETH 被盗了》),我也学到了很多东西,我也开始接触了 NFT,我也开始写与 NFT 相关的业务了。但是写合约真的是太难了。

合约学了一知半解,后面公司倒闭之后我就没再写了。不是特别感兴趣,少了当年学习新技术的热情。

旅游

读书

无,没多少时间看书,目前把《笑傲牛熊》快听完了。发现对于没时间看书的人来说,微信听书是个不错的选择。

理财

今年是坐过山车的一年,还好最后收益还行,更多请看 《2023 年年终总结投资篇》

败物

硬件:

软件和服务:

博客

前半年一直保持稳定的更新频率,但是后面宝宝出生之后就没时间写博客了。

以前上班的时候还可以摸鱼抽空写写博客,自从没上班之后自己的时间都被宝宝占据了,没时间写博客了。

其他

今年年中的时候在群友的推荐下我创建了一个美股付费社区,自己赚钱的同时顺便带带他们。相关文章:

展望 2024

健身

希望能有时间去健身房,但是估计因为宝宝的原因,我还是没时间去健身房。

学英语

希望能有时间学英语,但是估计因为宝宝的原因,我还是没时间学英语。

旅游

无计划,等宝宝大一点再说。

工作

转行做美股 Trader,希望能赚更多得钱。

理财

希望能赚更多的钱,比上班赚的多。

业余折腾

无计划,等宝宝大一点再说。

读书

多听一些关于趋势交易的书,书单早就准备好了,就是进度太慢了。

博客

希望能恢复之前的更新频率。每个月至少更新 2 篇文章。

其他

有了宝宝之后对车的需求变大了,希望今年能买辆 Tesla Model Y。

最后

总结完了,希望 2024 年能更好,希望宝宝能健康快乐成长,希望我转行做美股 Trader 能成功,能赚更多的钱。

2023 年年终总结投资篇

2024-01-02 00:14:00

引言

2023 这糟糕的一年终于要结束了,按照惯例,每年来一次投资年终总结,来看看这一年的投资表现如何。这是这系列的第五篇文章,前四篇文章:

加一个风险提示:本篇文章仅代表我的个人观点,不构成与其他人相关的任何投资建议。在作出任何投资决定前,投资者应根据自身情况考虑投资产品相关的风险因素,并于需要时咨询专业投资顾问意见。

PS:下文中的今年是指 2023 年。

基金 && A 股

概况

今年基金收益表现还不错,总体收益 7% 左右,去年总体在收益 -13% 左右。

今年基金之所以不错得益于我的一个重要的决策,3 月份底清仓了支付宝基金,4 月底清仓了京东金融上面的国内基金,保留了几个美国基金。

全部亏损割肉了,年底回顾,清仓之后国内基金都跌了 30% 左右,而美国基金都涨了 30% 左右,这个决策是非常正确的。

去年就说了要自己去玩 A 股,刚开始是拿一点小钱去试试水,后面不断加仓,变成大仓位了,年初疫情结束,而且有一波 AI 行情,准备大干一场,结果被大干了一场,AI 行情来的快,去的更快,而我第一次玩 A 股,还是有很多东西不懂,亏损迟迟不肯割肉,一直到最后 (7 月) 实在亏太多,全部割肉离场反思。事后看还好当时割肉了,不然亏的更多,下半年 A 股更是惨。

PS:不知道上面账户的账户盈亏率怎么计算的,后面我账户的余额全部取出来了,这个计算的盈亏率可能就不准确了,不过确实亏很多,一年白干了。

调整一个月之后,8 月我又准备了一笔小资金重新入场,准备继续探索 A 股的玩法,到目前为止这个小额账户也没赚到什么钱,也没找到稳定的方式,但是好消息是也没亏钱,只能说目前的策略还不够稳定,还需要继续探索。

总结

基金收益还不错,全靠 4 月之前清仓了国内的基金,保留了纳指和标普科技基金的重要决策,而且后面我还在不断定投。

A 股年初没按照预定轻仓玩,而是重仓玩,导致亏损严重。也正是这次亏钱,让我认识到了自己的不足,然后去学习了股票的技术分析。并且输出了 6 篇技术分析的文章,也算是一种收获。

明年继续定投纳指基金,继续轻仓探索 A 股的玩法。

美股

概况

今年美股收益表现还不错,总体收益 40% 左右,但是去年亏太惨,所以目前总收益还是亏钱的。

今年美股很有意思,5 月份到 7 月底一路上涨,但是到了 8、9、10 三个月,一路下跌,然后又开始暴力反弹。真是一波三折,不过最后还是赚到了钱。只不过连跌三个月,到后面刚开始反弹的时候都没敢重仓,而且账户资金在减少,所以指数回来了,而且破了新高,但是我的账户收益却没能回到新高,这是我今年最大的遗憾。

PS:还有一个盈立证券的小账户,应该是有翻倍了,他们的统计做的毕竟差,没办法一目了然看到清晰的收益率。

几个错误

今年玩美股,我总结了自己犯过的几个错误

喜欢抄底

上半年有一波美国银行暴雷时间,我抄底了 SI,以为银行不会轻易倒闭,结果还是我见识太少了,银行后面真的倒闭了,而且股票还退市了,这次银行倒闭风波,我抄底了 SI、SCHW、SIVB(还好轻仓),SI 和 SIVB 倒闭退市了,亏不少。SCHW 虽然没倒闭,但是在底部震旦了很久,我买的期权也是爆亏。

解决方案:时刻提醒自己:

与市场较劲

SMCI 上半年一路大涨,后面有一次财报,指引不如预期,财报前我买了一张 CALL,财报后大跌,如果这个时候我止损离场,也不亏很多钱,但是我偏偏选择了与市场较劲,觉得跌的太多了,应该会反弹,于是分批抄底,仓位也越来越大,结果 SMCI 在底部调整了很久,我的期权也被消耗完了,最后小亏变成了大亏。

解决方案:市场永远是对的,不要与市场较劲,不要和趋势作对,我们小散户唯一赚钱的方式就是跟着趋势走。

重仓赌财报

多年来我一直持仓特斯拉,正股和期权都有,三次财报我都持仓过夜,而且第三次财报的时候我还是重仓赌,买了大量的 CALL,当时我认为:

7 月底的时候我账户曾有 300% 多的收益,当时市场以为马上要进行降息了,但是后面 CPI 反弹,然后开始极速下跌,而我当时急于回新高,所以重仓赌财报,结果亏了很多的钱,账户一度亏到了接近 90% 了。还好后面有一波大反弹,我才勉强跑过了纳指。

除了特斯拉我还重仓赌过 AAPL 和 META 财报,都是巨亏 😭。在没有看到任何信号的情况下赌了,没信号完全是瞎赌,跟着信号赌至少胜率高一点,

解决方案:

不知道止盈/止损

UPST 上半年有一波大行情,我确实是抓住了,但是最后开始跌的时候我没有走,而是继续持有,好不容易赚的钱,几天的大跌就亏完了。

这种情况不止出现过一次了,有时候赚了钱,但是不知道止损/止盈,最后做了过山车,很没意思。总想吃到最后一口肉,只会害了自己。

唯一一次比较成功的是 MARA 跑得成功,虽然赚的钱后面吐出去了一部分,但是总体还是赚钱的就行。

解决方案:不会止盈的人,永远不会赚到钱。不要求自己卖在最高点,下跌利润回吐,保住剩下的利润就行。

总想吃到最后一口肉

不管什么股票,都不会一直涨的。根据趋势交易理论,每个股票都有四个周期,上升、下降、上升、下降,所以我们要学会抓住上升趋势,当股票横盘的时候,会变得很难赚钱,我们要学会抓住上升趋势,赚到钱就走人。

NVDA 算是今年最成功的一只大科技股票了,其实我也通过它也赚了不少钱,但是总想着会一直涨,不知道满足,后面到了第三阶段,利润回吐了很多。

解决方案:不要总想着吃到最后一口肉,根据趋势投资理论,我们不应该长持任何一只股票,我们要做的就是抓住上升趋势,赚到钱就走人。

看不懂趋势

CLSK 我买了之后,股票横盘了很久,有一天突然突破了,我回本了,不仅没有加仓,而且还立刻卖了。当时想着拿了这么久,终于回本了,我要卖了你。现在想来好好笑🤣,发现以前完全不懂炒股,真不知道以前炒了那么多年的股票,都是怎么炒的。

解决方案:突破正是买入的最好时间,不加仓就算了,千万不要卖出。

持仓不动

价值投资并不意味着买入之后就不动了,股票涨了开心,跌了就安慰自己说是长期投资,其实这样是不对的。有一个账户我 40 买的 NIO,到最后一直没卖,一直跌到十几,亏损重大,最后还是割肉了,这里犯了一个大错:

解决方案:跌破趋势线,也要及时割肉止损。

收获

总结了上面那么多错误,说说今年的收获:

趋势交易

可能是巴菲特太有名了,我们投资股票的时候,多多少少都会知道巴菲特,都会受到他价值投资理念的影响,以前我觉得技术分析、量化交易都是骗人的,只有买入股票一直持有才是最正确的。

但是最近这几年的过山车让我质疑了,我发现我不适合价值投资,我认为:

今年受到一位网友的影响,我开始接触趋势投资,不同于价值投资,趋势投资太适合散户了,我们只要学会技术分析,不需要太关注基本面、消息面,也不用去学怎么读财报,只要学会技术分析,就可以在股票上面赚到钱。

对于趋势投资,我还在不断的学习中,也在不断的实践中,有在看 YouTube 视频,也在看视频,等有了一定的经验之后,我会写几篇文章来分享一下的。

期权信号

今年我开始使用一些付费的期权工具帮我赚钱了。刚开始觉得贵,但是试用下来发现还挺不错的,能帮我赚到钱,只要策略好的话,会赚得更多。不然我 7 月底的时候,也不会赚到 3 倍的收益。后面账户从亏 90% 到赚 50% 也是靠我自己的策略,发现期权异常订单,然后跟单赚钱的。主要是抓这几种信号:

经过接近半年的实践,我的期权策略不断的优化,越来越好用了,如果你对此感兴趣可以看 轻松实现期权交易盈利 这篇文章,我开了一个付费群,我会给付费用户提供我抓到的信号,大家一起赚钱。

选股器

以前买股票都是看新闻推送的,很被动,也很迟了。很多股票都是涨起来了才会被报道,那个时候已经不适合买入了。学了技术分析之后才知道选股器的好用,不要总是只交易你熟悉的股票。

由于我从事互联网工作,所以前几年我主要投资互联网科技、半导体股票,但是 22 年它们也是跌的最惨的一年,所以 22 年我账户基本亏完了,都是靠不断的充钱和健身才熬过来的,要是早一点学技术分析,早一点使用选股器,我也不会亏那么多钱。

机会是留给有准备的人

玩美股有 5 年多了,很多股票我都很熟悉了,比方所这次 AI 行情、降息之后什么股票会暴涨,我都有准备了,所以我知道该关注什么股票,特别是看到信号的时候我就敢重仓买入。

机会是留给有准备的人,只有重仓才能赚到大钱,前提是你对它了解有信心,所以功课还是要多做的。今年下半年全靠重仓 AFRM、和 IWM 赚到了大钱。

总结

今年美股账户坐了一回过山车,不过最后还是赚到钱了,而且最重要的是今年学会了很多,接触了趋势投资,学会了一点技术分析。技术分析是有用的,特别是对于美股市场,通过自己的技术分析,我已经成功过几次了。

接下来我会继续学习趋势投资,也会继续学习技术分析,希望明年能赚到更多的钱。

港股

今年港股比 A 股还惨,流动性严重不足,而且还有政治风险,我今年上半年就很少玩港股了,8 月份之后就彻底清仓没玩了。美股已经足够了。什么都玩只会什么都亏。

最后

今年年底再次失业了,这次我打算全职做交易了,以前从来没想过这条路,但是现在觉得自己可以试试,我有信心能做好。我相信今年是我投资历史上的一个转折点,我会越来越好的。明年的年终总结,希望能有更好的收益。

社群

我们有投资交流群,免费加入,大家抱团回本,一起赚钱:

期权要学会滚仓

2023-12-16 15:09:00

引言

期权的滚仓是一个很重要的概念,也是一个很重要的操作,如果你学会了滚仓,那么你就可以让你赚的更多的钱,如果不会滚仓,你可能会后悔卖飞了的期权。

期权的滚仓主要有:

这篇文章我主要分享一下 Roll Up 的操作,Roll Down 的操作和 Roll Up 是一样的,只是方向相反而已。

什么是 Roll Up?

期权 Roll Up 指的是关闭现有的期权头寸,同时在相同期权中以更高的执行价格开设新头寸。通常使用场景是持续看涨,买 CALL/卖 PUT。

顺便提一下期权 Roll Down,期权 Roll Down 与 Roll Up 相反,指的是关闭现有的期权头寸,同时在相同期权中以更低的执行价格开设新头寸。通常使用的场景是持续看跌,卖 CALL/买 PUT。

了解期权 Roll Up

期权 Roll Up,简称为「将期权升级到更高的执行价格」,是指通过关闭初始并为同一标的资产以更高的执行价格开设新期权,从而提高期权头寸的执行价格。交易者同时执行这两个操作,以减少滑点或由于实施策略时标的资产价格变化可能造成的利润侵蚀。

无论现有头寸是看跌期权还是看涨期权,执行 Roll Up 策略的步骤都是相同的:

进行看涨期权 Roll Up 时,交易者应确保新头寸的净成本低于关闭旧头寸所产生的利润,因为更高执行价格的虚值(OTM)看涨期权溢价应该更低。相反,新的看跌期权期权在升级时的成本也会比旧的看跌期权期权更高。一句话总结就是担心卖飞的话,通过 Roll Up 策略,让你拿着利润去玩,亏了也不心疼

根据旧头寸和新头寸是做多还是做空,Roll Up 操作结果是赚利润或者权利金,具体取决于期权 Roll Up 的价格差异。

Roll Up 常见错误

Roll Up 策略就是为了锁定利润,并且使用低风险的方式继续赚钱,但是有时候我们会犯一些错误,导致我们的利润不稳定,甚至亏钱。常见错误有:

解决方案:

示例

假如你之前买了一张 TSLA 231222 245.00C 的虚值期权,当特斯拉涨到 245 以上时,你完全可以卖掉 245 行权价的 CALL,然后再买一张更高的执行价格的期权,比如 250.00C,这样你就可以继续看涨特斯拉了。这样做有 2 个好处:

上面就是我操作 COST 的实例。

上面是我没有使用 Roll Up 策略的例子,严重卖飞,如果没有卖飞的话今年真的可以休息了 😡😡。

所以说 Roll Up 策略是我相见恨晚的操作,我很早就学会使用组合期权了,但是居然最近才知道这个策略,真是太可惜了。也是因为最近才学会这个策略,有时候甚至忘记操作了,看来只有卖飞的心痛才能让我记住这个策略。

另外使用 Roll Up 最好在支持组合期权的券商上策略,不然你手动操作的话,不仅麻烦而且还会有滑点。我使用的券商里,目前富途是支持组合期权的,长桥要等明年 Q1 才上线,本周在长桥上进行 Roll Up 操作,手动操作亏了几百刀,真是心疼。所有说选择券商的时候,一定要综合考虑,不要只看佣金,还要看支持的功能。

总结

总结一下期权的 Roll Up 策略:

注意事项:

最后

期权的玩法真的有很多,我之前以为自己学会了基本的操作就可以了,但是现在看来,我还有很多东西要学习,我以后会分享更多的期权操作技巧,希望能帮助到大家。

股票技术指标 - 跳空缺口

2023-09-22 17:30:00

引言

跳空缺口是股票技术分析中的一个重要概念,它常常被当做股票的重要支撑位和阻力位,这篇文章主要介绍跳空缺口的原理和使用方法。

什么是跳空缺口

特点:

这一现象一般在市场受到重大新闻或事件影响时出现,致使股票价格在短期内发生剧烈波动。在技术分析领域,跳空缺口被认为是一个有力的趋势指标,它往往预示着接下来可能出现的大规模价格波动。

技术分析师常用跳空缺口来定位股票的支撑和阻力水平,也利用它来识别可能的趋势变化。通常,跳空缺口可以提供如下三种关键信号:

跳空缺口的类型

普通缺口

特点:

这种缺口参考意义不大,很快可以被补上,不需要关注。

突破缺口

特点:

信号:

看到突破缺口一定要抓住机会,跳空向上突破的,不要怕高,冲进去。

逃逸缺口

因可以大约地预测股价未来可能移动的距离,所以又称为测量缺口,特点:

信号:

遇到逃逸缺口先不要急着进场,要观察股票几天看会不会回补缺口,如果不回补缺口,就可以等股票回撤后买上涨的那天的收盘价,如果回补缺口,就不要买了。

竭尽缺口

特点:

信号:

如何使用跳空缺口

4 个类型的缺口,我们重点关注突破缺口就可以了。

容易涨的位置:

容易跌的位置:

注意事项

首先,理解 4 种不同类型的跳空缺口至关重要,因为它们预示着不同的后续市场走势。例如,逃逸缺口通常表明上涨趋势将持续,而竭尽缺口则往往是即将发生趋势反转的信号。

对于向上跳空缺口,若想准确预测其后续走势,最理想的情况是缺口突破了压力线,并伴随着成交量逐渐增加。缺口越大,其后续上升的可能性也越高。在这种情况下,可考虑买入。然而,对于希望避免追高并持保守投资策略的人来说,建议在股价稍微回落时再进行买入。

另一项关键的观察指标是成交量。通常,突破性的跳空缺口往往出现在成交量开始增加的阶段,这是因为市场参与者开始集中注意力,推动价格上升。相反,如果在价格上升的同时,竭尽缺口的成交量逐渐减少,这通常意味着投资者不愿意追高,市场有反转的可能性。

总结

向上和向下跳空缺口都是市场主力的明确趋势信号。如果在横盘整理区间内突破压力线或跌破支撑线,并在接下来的两至三天内没有被填补,这通常预示着明确的上涨或下跌趋势。此时便是进行买入或卖出交易的理想时机。

另外,在价格出现向上跳空后,如果在高位未能继续创出新高,并伴随成交量的减少,随后以向下跳空方式回落,这种情况形成的最高点价格通常被描述为“岛状反转”。由于岛状反转模式较为罕见,且通常出现在大跌的初期,因此这提供了一个极佳的做空(卖出)机会。

使用缺口的指标的时候还是要先看趋势,趋势是最重要的,先确认好趋势,然后再看缺口,缺口只是一个辅助的指标,不要盲目的跟缺口,要结合其他指标一起使用。

轻松实现期权交易盈利

2023-09-11 19:01:00

引言

美股已经炒了 6 年,期权也交易了 3 年多了,今年算是找到了一点门路,通过期权赚了一点钱。

差不多在一个月前我开通了一个期权收费群,目前已经有不少小伙伴加入了,我今天来介绍一下这个群,如果你对期权感兴趣,欢迎加入。

期权收费群

这个群我会每天都分享期权交易的 Idea,这些 Idea 都是我通过一个付费工具再结合自己研究出来的策略严格筛选出来的,通常这些 Idea 我都会实时分享出来的,你可以选择跟或者不跟,你需要自己做决策,我自己也不是 100% 跟单的。

我通常会截图发出来,图长这样:

通常你只需要关注图中顶部的标题和红框的部分就可以了,比如上面这张图就是:

更多的解释你可以看我这篇文章介绍 - 《像专业人士一样交易期权之如何使用 Optionstrat》

除了上面的期权 Idea 分享之外,付费群还会提供:

使用指南

我会在开盘期间分享我看到的期权 Idea,然后你要结合自己的判断选择跟不跟,不要所有信号都无脑跟。我偶尔会再群里分享我的买卖点位(因为开盘期间我要一直盯着股票和期权流,不一定有时间分享操作),但是最重要的是你自己的判断和操作。因为每个人的资金和风险承受能力还有投资风格都不一样,所以大家要自己做决策。

另外有了利润记得要止盈,机会很多,不要怕卖飞。我不建议重仓跟单,因为有概率是失败的,看到方向不对的时候要及时止损。

Tips:

为什么要收费

首先这个群的工具也是我花钱买的,而且里面还有一些我自己研究的策略,我也是花了很多时间和精力去研究的,所以我觉得这个群是有价值的,所以我才会收费。

如果我提供的信息对你有价值,能帮助你赚到钱,那么我觉得收费是合理的。

如何收费

微信转账就可以,收费规则:

成绩

差不多快一个月试用期结束了,我分享一下我们的成绩吧:

DG PUT

DG 财报大跌,这个被我们提前抓到了,有群友跟单赚了几千刀。用我的策略赌财报非常爽,上个月我自己抓到好几个 3 倍的,以小博大。

AAPL PUT

AAPL 大跌前的一天,我们提前抓到了,这个隔天有 5 倍的收益。

VFS PUT

隔天 VFS 跌了 26%。

等等。

我的策略其实很简单,我认为这个市场上总有人提前知道点什么,我们要做的就是发现他们,并且跟随他们

风险提示

想加入付费群的朋友最好有一定的期权基础知识,至少能看懂期权的基本含义,知道是看涨还是看跌。不懂期权的朋友可以看我写的期权教程,期权有风险,入群前请自行评估自己的风险承受能力。

不玩期权的朋友也可以根据我发出来的 Idea 去交易对应的股票。

我也不能保证我分享出来的是 100% 赚钱,但是总体下来胜率还是很高的。所以我也不建议大家重仓跟单(我通常也是每次买一两张),要有风险意识,我们要的是以小博大,不要贪心。

另外需要说明的是通常这些 Idea 一般都出现在后半夜,对于国内交易期权的朋友来说,可能不太方便,这个需要自己评估。

免责声明

付费群的交易 Idea 都是我自己的观点,不构成任何投资建议,投资需要自己做决策,自己承担风险。

总结

一句话总结就是我创建了一个付费群,目的是为了分享期权交易的 Idea,如果你对此很感兴趣可以低价试用一个月,试用期结束你觉得我分享的信息对你有价值,能帮助你赚到钱,欢迎正式加入。

想加入的朋友微信搜索 ipzone,加我好友,备注 期权收费群,我拉你进群。

股票技术指标 - 布林通道(BOLL)

2023-09-06 19:30:00

引言

布林通道(BOLL)是由美国经济学家约翰·布林格(John Bollinger)结合了均线和统计学的标准差提出的概念。这一指标可以帮助投资者理解价格的相对高低以及价格的波动性,从而做出更明智的投资决策。

什么是布林通道

布林通道是移动平均线和标准差的概念,以 MA20 为中轴线,上下各偏离 2 个标准差的距离,形成一个通道。布林通道由三条轨道线组成:

PS: 这里的标准差是统计学中的一个概念,核心思想就是大多数股价涨到一定的高度就会回落,跌到一定的低度就会反弹,这个高度和低度就是标准差。

布林线的理论基础

布林线的设计原理是股价通常总是围绕着某个中轴在一定的范围内波动,通过对股价的统计分析,可以得出股价的标准差,从而确定股价的波动范围,形成一个带状区间,股价通常在这个带状区间内波动。

带状区间的宽窄也会随着股价的波动幅度而变化:

布林线的应用

布林线主要是找支撑和阻力的,通常来讲(有 95.4% 的可能性):

抢反弹

回落买入

使用布林通道之前,我们需要先确定股票的趋势,如果是上涨趋势,那么我们就可以使用回落买入的策略。

长线策略

布林通道也适合做长线策略,有些股票很强势,碰到中轨线之后就立马反弹,这种股票可以长线持有,直到股价跌破中轨线为止。

横盘突破

股价横盘的布林通道接近平行,当股价有突破的趋势,布林线就会打开,这预示着大机会来临,可以买入。

总结

布林通道是一个很好的技术指标,它能帮你找到支撑和阻力,但是在使用之前还是要确认股票的趋势,趋势是最重要的,布林通道只是一个辅助指标。

另外在使用布林通道的时候一定需要结合其他指标一起使用,比如 MACD、KDJ、RSI 等等。

如何抓住股票的起涨点

2023-06-23 10:47:00

引言

今天主要是给大家分享一下我在股票投资中的一个小技巧,这个技巧可以帮助你从 K 线图上抓住股票的起涨点,从而提高你的投资收益。

股票的起涨暗号

完美底部

完美底部,长期盘整,2 个月以上。

均线多头排列

长红 K 起涨爆量

KD 指标背离

这里的背离是指 KD 指标跟股价的趋势相反,股价在横盘,但是 KD 指标在上升,这种情况可以买入。

头头高底底高

不要追的信号

第三波行情

第三波行情的起涨可以追,但是如果已经涨了 3 天以上就不要追了,比较危险。第三波跌破 MA5 就卖,而且第三波只能做短线。

高位爆量

不管第几波行情,底部爆量可以追,但是高位爆量不要追,比较危险。这里的爆量是指量比 2 倍以上。

月线没有多头排列

底部 MA20 均线没有多头排列,并且股价低于 MA20 的不要买。

最后

起涨点没抓住不要冲进去了,等第二波,第二波通常会比第一波更大,起涨的特点跟第一波一样。另外冲进去的话:

股票技术指标 - 随机(KD)指标

2023-06-11 19:30:00

引言

KD 指标是目前股市上常用的短线入场技术指标之一,它是一个领先的指标,这篇文章主要介绍 KD 指标的原理和使用方法。

什么是 DK 指标

KD 指标 (Stochastic Oscillator) 又叫随机指标,是一种反映价格波动的指标,由 George C.Lane 于 1950 年代提出,是目前股市上常用的技术指标之一,被广泛应用于预测金融市场的中短线行情趋势。

KD 指标,最主要就是用来呈现过去一段时间股价强弱趋势、许多人会运用这些数字,来作为寻找价格转折点的交易讯号依据。

PS: 在 KD 指标的基础上进一步发展出了 KDJ 指标,它比 KD 线多了一条 J 线。但是 DK 才是最基础的指标,所以我们先来学习 KD 指标。

KD 指标的计算公式

DJ 的计算依据是最高价、最低价和收盘价。它可以从其中反映价格波动的强度,超买和超卖,并在价格上涨或下跌前给出交易信号。

它由两条线构成:

以下是计算这两个值的公式:

1
2
3
4
5
RSV = (今日收盘价 – 最近 n 天的最低价) ÷ (最近 n 天的最高价 – 最近 n 天最低价) × 100
今日 K 值 = 昨日 K 值 × (2/3 ) + 今日 RSV × ( 1/3)
今日 D 值 = 昨日 D 值 × (2/3) + 今日 K 值 × ( 1/3)

* RSV 中的 N 天,常见天数有以 9 天、14 天等来比较,依标的属性来调整。

一般来说

KD 指标的应用

黄金交叉/死亡交叉

股票在盘整的时候,黄金交叉和死亡交叉的信号不是很准确。

超买/超卖信号

KD 指标 (随机指标) 的区间为 0~100,一般来说:

KD 指最主要的用途是告诉我现在股价在高位还是低位,不是说要等 KD 到了 20 你才能入场,强势股的话 50、60 多如果碰到黄金交叉,也是可以入场的。

以 50 为界,当 KD 值大于 50 时,代表股价处于上升趋势,当 KD 值小于 50 时,代表股价处于下降趋势。

KD 钝化

如果出现 KD 钝化,就表示 KD 信号失效,此时就不要再参考 KD 指标了,去看其他指标,比如均线。

KD 背离

KD 背离是指股价和 KD 指标的走势方向不一致,这种情况下,股价很可能会发生反转。有两种类型的背离:顶背离和底背离。

然而,要注意的是,背离只是一个可能的转折信号,并不保证市场一定会转向。因此,投资者在使用背离进行决策时,需要结合其他因素(如市场新闻、其他技术指标等)进行考虑。

提高胜率应用

总结

最后提醒大家,技术指标是用来帮助我们描述过去和预测未来的,但是并不能保证一定准确,所以在使用的时候,一定要结合其他的指标和自己的判断,才能更好的使用。

我的 ETH 被盗了

2023-06-11 15:30:00

引言

最近 ETH 跌了,昨天晚上睡觉前看了一下自己的 ETH 钱包,结果看到一个转账通知,钱包内的 0.76 个 ETH 全部被转走了,转走的时间是前天晚上。

这篇文章主要是记录一下自己的经历,以及如何避免自己的钱包被盗。

事件经过

周五在学智能合约,写了一篇《使用 HardHat 创建 NFT 智能合约》的文章,然后按照教程把代码上传到 GitHub 了,并且开源了。没有特意的去检查代码的环境变量。

然后周六晚上发现自己的钱包的 ETH 被盗了,第一时间以为是自己授权钱包给了不安全的网站,导致被盗了,但是仔细检查了一下,发现 MetaMask 的交易记录并没有被盗的那条记录。

然后我去看 Github 代码,被盗的时间在代码最后一次提交的时间前,然后再一看代码,发现自己傻逼了,把自己的私钥放到了代码里面,然后提交到了 Github 上面。

仓库里面有一个 .env.example 文件,hardhat 初始化的时候生成 .gitignore 文件,里面有 .env,这一步是没问题的,但是我在创建 .env.example 的时候,使用的是 cp .env .env.example,这样就把私钥也复制到了 .env.example 文件里面,也没去删除里面的私钥,也没确认,就提交到了 Github 上面。

那个时候赶着下班,提交代码就走了。

如何避免

认识到钱包私钥的重要性

显然我之前对钱包私钥的重要性认识不够,导致了这次的损失。Web3 钱包的私钥(Private Key)非常重要。在区块链技术中,私钥就像是你的密码,具有以下重要性:

所以,保存好你的 Web3 钱包私钥并保证其安全是非常重要的,丢失或泄露私钥可能会导致你的资产被盗。

区分钱包

在使用 Web3 钱包的时候,一定要区分好钱包,你可以创建多个钱包,用于不同的场景,比如一个专门用来存储资产,一个专门用来开发测试,一个专门用来交易等等。

储存资产的钱包一定要保证私钥的安全,也不要乱授权,推荐使用硬件钱包来保证你的私钥安全。

环境变量

在开发的时候,一定要注意环境变量的安全,不要把私钥等重要信息放到代码里面,也不要提交到 Github 上面。特别是开源项目,一定要注意。我能想到的方案:

总结

这次事件,让我对 Web3 钱包的私钥有了更深的认识,也让我意识到了环境变量的重要性,以后一定要注意。周五的那篇文章价值 0.76 个 ETH,心在滴血。

希望大家能够引以为戒,不要重蹈我的覆辙。如果我的文章对有帮助到你,可以考虑打赏安慰一下我,非常感谢 🙏。

附上学习资料:《区块链安全入门笔记》

使用 HardHat 创建 NFT 智能合约

2023-06-08 18:30:00

引言

最近在学智能合约,本篇文章主要记录如何使用 HardHat 创建 NFT 智能合约。我们还将学习如何使用 Hardhat 写测试合约和部署智能合约。

先决条件

搭建环境

安装 Node.js

首先,我们需要安装 Node.js,参照官网的安装教程即可。

MetaMask

创建 Polygonscan API 密钥

当我们将我们的合约部署到区块链(主网或测试网)时,部署后验证我们的智能合约代码是一种最佳实践。如果我们的智能合约被验证了,那么智能合约代码将在区块浏览器上可见,用户将能够直接从区块浏览器(如 Polygonscan)与智能合约交互。验证源代码是非常被鼓励的,因为它使我们的项目更透明,用户更有可能与之交互。

使用 HardHat 插件,智能合约可以在部署过程中自动进行验证。为此,我们需要一个 Polygonscan API 密钥。按照以下步骤获取你自己的 API 密钥:

现在你有了一个 API 密钥,这将允许你访问 Polygonscan API 的功能,如合约验证。这个密钥对主网和测试网都是一样的。

创建一个 HardHat 项目

安装 HardHat,运行命令:

1
npm install -g hardhat

这将全局安装 HardHat,以便我们后来可以使用 npx 命令来创建 HardHat 项目。

现在,我们将使用以下代码创建我们的项目:

1
2
3
mkdir art_gallery # 我将我的项目文件夹命名为 art_gallery,但其他任何名称都可以
cd art_gallery    # 进入目录
npx hardhat

输入最后一个命令后,类似于以下的内容应该出现在你的屏幕上:

这里我选的是 typescript,你可以根据自己的喜好选择。

理解代码

现在让我们打开我们的项目并看看它包含什么。我将使用 VSCode 作为我的编辑器,但你可以自由地使用你感觉舒服的任何其他代码编辑器。

我们得到的是一个非常简单的项目脚手架。所有我们的智能合约、脚本文件和测试脚本都将保存在它们各自的目录(文件夹)中。

hardhat.config.js 文件包含了所有特定于 HardHat 的配置。

在我们开始编写我们的智能合约之前,让我们看一下 hardhat.config.js 文件,这是我们 HardHat 项目的核心。这个文件的默认内容是:

1
2
3
4
5
6
7
8
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

const config: HardhatUserConfig = {
  solidity: "0.8.18",
};

export default config;

安装 OpenZeppelin 库

在编写任何程序时,我们总是倾向于使用各种库,这样我们就不必从头开始编写。由于我们将构建一个基于 NFT 的项目,我们将遵循在 EIP-721 中定义的标准。最好的方式是导入 OpenZeppelin 合约库中的 ERC721 合约,并只对我们的项目进行必要的修改。要安装这个包,打开终端并运行命令:

1
npm install @openzeppelin/contracts

开始我们的智能合约

让我们在 contracts 目录中创建一个名为 Artwork.sol 的新文件。这将是我们的第一个智能合约,它将帮助我们创建 NFTs。

1
2
3
4
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

contract Artwork {}

我们首先定义我们的智能合约的许可证。对于这个教程,我们将其保留为未许可。如果我们不定义许可证,它将在编译时引起警告。pragma 关键字用于定义用于编译代码的 Solidity 版本。

接下来,我们将从我们刚刚安装的 OpenZeppelin 库中导入 ERC721 智能合约。在定义 Solidity 版本的行之后和定义合约之前,导入 ERC721 合约:

1
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

如果使用 VSCode,我们需要在 .vscode/settings.json 文件中添加以下配置:

1
"solidity.remappingsUnix": ["@openzeppelin/=node_modules/@openzeppelin/"]

参考 Source “@openzeppelin/contracts….” not found: File import callback not supported

继承 ERC721 和构造器初始化

对代码做出以下修改:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract Artwork is ERC721 {

    constructor(
        string memory name,
        string memory symbol
    ) ERC721(name, symbol) {}

}

这里我们正在做以下几件事:

定义 tokenCounter

NFT 被称为非同质化代币,因为每一个都是独一无二的。使它们独一无二的是赋予它们的代币 id。我们将定义一个名为 tokenCounter 的全局变量,并用它来计算代币 id。它将从零开始,每创建(或"铸造")一个新的 NFT,它就增加 1。在构造器中,tokenCounter 的值被设置为 0。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract Artwork is ERC721 {

    uint256 public tokenCounter;

    constructor(
        string memory name,
        string memory symbol
    ) ERC721(name, symbol) {
        tokenCounter = 0;
    }

}

创建 mint 函数

现在我们将定义一个 mint 函数,任何用户都可以调用它来铸造新的 NFT。每个 NFT 都会有一些关联的数据。在我们的情况下,我们使用图像或其他收藏品作为 NFT 的基础,因此图像应该以某种方式存储在智能合约中。由于直接在区块链上存储数据有相关的成本,如果存储整个图像和其他关联数据(元数据),那么在财务上将不可行。所以,我们需要单独托管图像以及包含所有 NFT 详细信息的 JSON 文件。图像和 JSON 文件可以分别使用去中心化(使用 IPFS)或传统方法集中托管。JSON 文件也包含指向图像的链接。一旦托管了 JSON 文件,指向该 JSON 文件的链接就存储在区块链中,作为 tokenURI。URI 代表"通用资源标识符"。以下是集中托管 tokenURI 的一个例子。

有了这个思路,mint 函数就是我们创建与智能合约关联的每个 NFT 的方式:

1
2
3
4
5
6
function mint(string memory _tokenURI) public {
    _safeMint(msg.sender, tokenCounter);
    _setTokenURI(tokenCounter, _tokenURI);

    tokenCounter++;
}

_safeMint 是 OpenZeppelin ERC721 合约中的另一个函数,用于铸造新的 NFT。它需要两个参数:

msg.sender 是一个特殊的关键字,它返回调用智能合约的账户的地址。在这种情况下,它将返回当前调用 mint 函数的账户。因此,调用 mint 函数的账户将作为第一个参数传递,所以铸造的 NFT 将由这个账户拥有。

_setTokenURI() 函数还没有定义,所以暂时忽略它。这个函数将用于设置铸造的 NFT 的 tokenURI。这个函数在 ERC721 库中存在,但在 Solidity 版本 0.8.0 之后已经被废弃,所以我们需要自己实现它。

一旦代币被铸造并设置了其 tokenURI,我们就将 tokenCounter 增加 1,以便下一个铸造的代币有一个新的代币 id。

创建 _setTokenURI() 函数

我们的 NFT 智能合约必须存储所有有效的 tokenId 及其各自的 tokenURI。为此,我们可以使用 Solidity 中的 mapping 数据类型。映射的工作方式类似于 Java 等其他编程语言中的 hashmap。我们可以定义一个从 uint256 数到 string 的映射,这将表明每个 tokenId 都映射到其各自的 tokenURI。在声明 tokenCounter 变量之后,定义映射:

1
mapping (uint256 => string) private _tokenURIs;

现在让我们编写_setTokenURI 函数:

1
2
3
4
5
6
7
function _setTokenURI(uint256 _tokenId, string memory _tokenURI) internal virtual {
    require(
        _exists(_tokenId),
        "ERC721Metadata: URI set of nonexistent token"
    );  // Checks if the tokenId exists
    _tokenURIs[_tokenId] = _tokenURI;
}

这里定义了许多新的术语,所以让我们逐一处理:

总结:这个函数首先确保我们试图设置 tokenURI 的 tokenId 已经被铸造。如果是,它将把 tokenURI 添加到映射中,以及相应的 tokenId。

创建 tokenURI() 函数

我们需要创建的最后一个函数是 tokenURI() 函数。它将是一个公共可调用的函数,接受一个 tokenId 作为参数,并返回其相应的 tokenURI。这是一个标准的函数,被 OpenSea 等基于 NFT 的平台调用。像这样的平台使用这个函数返回的 tokenURI 来显示有关 NFT 的各种信息,如其属性和显示图像。

让我们编写 tokenURI 函数:

1
2
3
4
5
6
7
function tokenURI(uint256 _tokenId) public view virtual override returns(string memory) {
    require(
        _exists(_tokenId),
        "ERC721Metadata: URI set of nonexistent token"
    );
    return _tokenURIs[_tokenId];
}

这个函数首先检查是否铸造了传入的 tokenId。如果已经铸造了代币,它从映射中返回 tokenURI。

将所有功能组合在一起

将所有函数组合在一起,最终的智能合约将如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract Artwork is ERC721 {

    uint256 public tokenCounter;
    mapping (uint256 => string) private _tokenURIs;

    constructor(
        string memory name,
        string memory symbol
    ) ERC721(name, symbol) {
        tokenCounter = 0;
    }

    function mint(string memory _tokenURI) public {
        _safeMint(msg.sender, tokenCounter);
        _setTokenURI(tokenCounter, _tokenURI);

        tokenCounter++;
    }

    function _setTokenURI(uint256 _tokenId, string memory _tokenURI) internal virtual {
        require(
            _exists(_tokenId),
            "ERC721Metadata: URI set of nonexistent token"
        );  // Checks if the tokenId exists
        _tokenURIs[_tokenId] = _tokenURI;
    }

    function tokenURI(uint256 _tokenId) public view virtual override returns(string memory) {
        require(
            _exists(_tokenId),
            "ERC721Metadata: URI set of nonexistent token"
        );
        return _tokenURIs[_tokenId];
    }

}

编译智能合约

现在我们的智能合约已经准备好了,我们必须将其编译。为了使用 HardHat 编译一个智能合约,请运行以下命令:

1
npx hardhat compile

如果一切顺利,你将会看到「Compilation finished successfully」的信息。如果合约没有成功编译或者出现了错误,你可以尝试再次阅读本教程,找出出错的地方。一些可能出现的错误包括:

测试智能合约

到目前为止,我们已经编写了我们的智能合约并编译了它。然而,一个成功编译的智能合约并不意味着它是正确的!编写测试用例以确保它通过所有预期的使用情况和一些边缘情况是非常重要的。由于一旦智能合约被部署到区块链上就不能被修改,因此测试智能合约变得更加重要。

我们将使用 chai 库来编写我们的测试。如果在创建项目时没有安装这个库,你可以使用命令 npm install --save-dev chai 来安装。

我们将对我们的智能合约进行以下测试:

编写测试用例

在 test 目录下创建一个新的文件,叫做 Artwork.ts。文件名并不重要,但为了保持有序,测试文件的名称应该和被测试的合约有所关联。在这个新文件中,添加以下代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { expect } from "chai";
import { ethers } from "hardhat";

describe("Artwork Smart Contract Tests", function () {
    this.beforeEach(async function () {
        // This is executed before each test
    })

    it("NFT is minted successfully", async function () {

    })

    it("tokenURI is set sucessfully", async function () {

    })
});

注意:与 Truffle 不同,HardHat 不需要单独为测试运行 ganache-cli。Hardhat 有自己的本地测试网,我们可以使用。

部署合约和编写测试

为了部署智能合约,我们首先需要使用 ethers.getContractFactory() 获取对编译好的智能合约的引用,然后我们可以使用 deploy() 方法来部署智能合约并传入参数。我们在 beforeEach() 部分做这个操作。

1
2
3
4
5
6
7
8
let artwork;

this.beforeEach(async function() {
    // This is executed before each test
    // Deploying the smart contract
    const Artwork = await ethers.getContractFactory("Artwork");
    artwork = await Artwork.deploy("Artwork Contract", "ART");
})

为了检查 NFT 是否正确地被铸造,我们首先获取 HardHat 创建的一个默认账户。然后我们调用智能合约中的 mint 函数,传入一个随机的 tokenURI。我们在铸造之前和之后检查账户的余额,它们应分别为 0 和 1。如果合约通过了测试,那就意味着 NFT 被正确地铸造了。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
it("NFT is minted successfully", async function() {
    [account1] = await ethers.getSigners();

    expect(await artwork.balanceOf(account1.address)).to.equal(0);
    
    const tokenURI = "https://kongz.herokuapp.com/api/metadata/1"
    const tx = await artwork.connect(account1).mint(tokenURI);

    expect(await artwork.balanceOf(account1.address)).to.equal(1);
})

为了检查 tokenURI 是否被正确设置,我们取两个随机的 tokenURIs 并从不同的账户设置它们。然后我们调用 tokenURI() 函数来获取相应 token 的 tokenURI,然后将它们与传入的参数进行匹配,以确保 tokenURIs 被正确地设置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
it("tokenURI is set sucessfully", async function() {
    [account1, account2] = await ethers.getSigners();

    const tokenURI_1 = "https://kongz.herokuapp.com/api/metadata/1"
    const tokenURI_2 = "https://kongz.herokuapp.com/api/metadata/2"

    const tx1 = await artwork.connect(account1).mint(tokenURI_1);
    const tx2 = await artwork.connect(account2).mint(tokenURI_2);

    expect(await artwork.tokenURI(0)).to.equal(tokenURI_1);
    expect(await artwork.tokenURI(1)).to.equal(tokenURI_2);

})

将所有内容放在一起

最终,在将所有测试用例组合在一起后,Artwork.ts 文件的内容将是:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { expect } from "chai";
import { ethers } from "hardhat";
import { Artwork } from "../typechain-types";

describe("Artwork Smart Contract Tests", function () {
    let artwork: Artwork;

    this.beforeEach(async function () {
        // This is executed before each test
        // Deploying the smart contract
        const Artwork = await ethers.getContractFactory("Artwork");
        artwork = await Artwork.deploy("Artwork Contract", "ART");
    })

    it("NFT is minted successfully", async function () {
        let account1;
        [account1] = await ethers.getSigners();

        expect(await artwork.balanceOf(account1.address)).to.equal(0);

        const tokenURI = "https://kongz.herokuapp.com/api/metadata/1"
        const tx = await artwork.connect(account1).mint(tokenURI);

        expect(await artwork.balanceOf(account1.address)).to.equal(1);
    })

    it("tokenURI is set successfully", async function () {
        let account1;
        let account2;
        [account1, account2] = await ethers.getSigners();

        const tokenURI_1 = "https://kongz.herokuapp.com/api/metadata/1"
        const tokenURI_2 = "https://kongz.herokuapp.com/api/metadata/2"

        const tx1 = await artwork.connect(account1).mint(tokenURI_1);
        const tx2 = await artwork.connect(account2).mint(tokenURI_2);

        expect(await artwork.tokenURI(0)).to.equal(tokenURI_1);
        expect(await artwork.tokenURI(1)).to.equal(tokenURI_2);

    })
});

您可以使用命令运行测试:

1
npx hardhat test

部署智能合约

到目前为止,我们已经学会了如何编写智能合约并对它们进行测试。现在我们终于可以开始将我们的智能合约部署到 Mumbai 测试网络了,这样我们就可以向我们的朋友们炫耀我们新学到的技能了😎。

在我们继续并部署我们的智能合约之前,我们将需要两个额外的 npm 包:

设置环境变量

在项目根目录中创建一个名为 .env 的新文件。

.env 文件中创建一个名为 POLYGONSCAN_KEY 的环境变量,将其设置为教程开始时创建的 API 密钥。同时添加另一个条目 PRIVATE_KEY,将其设置为有 MATIC 的 Mumbai 测试网钱包帐户的私钥。

1
2
POLYGONSCAN_KEY=xxxx
PRIVATE_KEY=xxxxx

修改配置文件

为了将经过验证的智能合约部署到 Mumbai 测试网络,我们必须在 hardhat.config.js 文件中做一些改动。首先,将这段完整的代码复制粘贴到文件中,然后我们会一步一步地解释这段代码,以理解正在发生的事情:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
require("dotenv").config();

const config: HardhatUserConfig = {
  solidity: "0.8.18",
  networks: {
    mumbai: {
      url: "https://matic-testnet-archive-rpc.bwarelabs.com",
      accounts: [
       `${process.env.PRIVATE_KEY}`
      ]
    }
  },
  etherscan: {
    apiKey: process.env.POLYGONSCAN_KEY,
  }
};

export default config;

由于我们将把我们的合约部署到 Mumbai 测试网,所以我们在网络部分创建了一个新的网络对象。我们将其命名为 mumbai,并将其 url 设置为 Mumbai 测试网的 RPC url。然后,我们将我们的私钥添加到 accounts 数组中,以便我们可以使用它来部署我们的智能合约。

最后,我们将我们的 API 密钥添加到 etherscan 对象中,以便我们可以在部署智能合约时验证它。

编写部署脚本

scripts 文件夹中创建一个名为 deploy_artwork.ts 的新文件。在这个文件中,我们将编写一个脚本,用于部署我们的智能合约。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { ethers, run } from "hardhat";

async function main() {
  const ContractFactory = await ethers.getContractFactory("Artwork");
  const contract = await ContractFactory.deploy("Artwork Contract", "ART");


  // Wait for the contract to be mined and get the contract's deployed bytecode
  await contract.deployed();

  console.log("Contract deployed to:", contract.address);

  // wait 1 minute for the contract to be mined
  await new Promise((r) => setTimeout(r, 60000));

  // Verify the contract
  try {
    await run("verify:verify", {
      address: contract.address,
      constructorArguments: ["Artwork Contract", "ART"],
    });
    console.log(`Contract verified successfully.`);
  } catch (error) {
    console.error("Failed to verify contract:", error);
  }
}

main()
    .then(() => process.exit(0))
    .catch((error) => {
      console.error(error);
      process.exit(1);
    });

执行部署脚本:

1
npx hardhat run scripts/deploy_artwork.ts --network mumbai

解释一下上面的代码:

需要说明的是:

1
npx hardhat verify --network sepolia <contract address> "Artwork Contract" "ART"

与智能合约互动

如果我们在 Polygonscan 上查看我们的智能合约,你可以看到我们的合约已经通过验证。这在 Contracts 标签页中有一个绿色的对号表示。在 Contracts 标签页中,点击 Write Contract。现在点击「Connect to Web3」并连接你的 Metamask 账户。

我刚才部署的智能合约的地址是:0x7d64B6EDAcE2Cf8FfE57199406861E9fcEeb7364

现在选择 mint 操作并输入你的 tokenURI。我使用 https://kongz.herokuapp.com/api/metadata/5 作为我的 tokenURI。如果你愿意,你可以通过使用 IPFS 来托管你自己的 tokenURI。一旦你输入你的 tokenURI,点击「Write」按钮。这将显示一个 Metamask 弹出窗口。确认交易并等待其被确认。

恭喜你🥳🥳🥳,你的 NFT 已经成功铸造。你可以访问 Opensea Testnet 页面,用钱包登录之后,在「Profile」部分现在你可以查看你的 NFT。可以在这里查看示例。

结论

在本教程中,我们学习了 HardHat 的一些基础知识。我们编写了一个可以用于创建 NFT 的智能合约,为我们的智能合约编写了测试,最后将其部署到 Mumbai 测试网。我们还使用了 HardHat 插件和 Polygonscan API 密钥验证了我们的合约。使用类似的程序,我们可以构建任意数量的 DeFi 项目并部署到任何兼容 EVM 的网络(Ethereum, Polygon, Binance Smart Chain, Avalanche 等)。

参考资料

在学习过程中,我发现以下资料非常有用:

最后

本篇文章大部分内容都翻译自 《Create an NFT smart contract with HardHat》,并且结合我自己的实践做了一些修改,希望对你有所帮助。

本篇教程的代码已经上传到 Github,地址 hi-hardhat

股票技术指标 - 指数平滑异同移动平均线(MACD)指标

2023-05-25 10:49:00

引言

MACD 也是股票技术分析中最常用的技术指标之一,经常被用来判断股票的趋势的转向。这篇文章主要介绍 MACD 指标的计算方法和使用方法。

什么是 MACD 指标

基础概念

MACD 是指数平滑异同移动平均线 (Moving Average Convergence Divergence) 的缩写,简称「指数平滑异同移动平均线」,代表一种趋势跟踪的动量指标。MACD 通常由 4 部分组成:

  1. DIF 值(快线):快线(短期指数平滑移动平均线)与慢线(长期指数平滑移动平均线)的差值。一般是 MA12 - MA26。
  2. DEA 值(慢线):DIF 的 9 日指数平滑移动平均线。
  3. MACD 柱(动能):DIF 与 DEA 之间的差值,柱状图。一般是 DIF - DEA。
    • 值是正数,表示快线在慢线之上,市场处于上涨趋势;
    • 值是负数,表示快线在慢线之下,市场处于下跌趋势。
  4. 0 轴:多空分界线,MACD 柱在 0 轴之上,表示多头市场;MACD 柱在 0 轴之下,表示空头市场。

黄金交叉和死亡交叉

如何使用 MACD 指标

MACD 指标比较适合做中长线操作。

买入点的判断

卖出点的判断

总结:

趋势 多头 空头
快、慢线 两线在 2 轴之上做多不做空 两线在 2 轴之下做空不做多
红、绿柱 红柱缩短表示回调,绿柱缩短表示上涨 红柱缩短表示下跌,绿柱缩短表示反弹

示例

  1. 上涨趋势确认
  2. 下跌趋势确认

避免失误

MACD 背离

MACD 背离是指股价与 MACD 指标之间的背离,即股价与 MACD 指标的走势方向不一致。

这两种情况要注意了:

出现背离的情况,代表趋势即将改变。

总结

股票技术指标 - 移动平均线(MA)指标

2023-05-13 10:49:00

引言

MA 是股票技术分析中最常用的技术指标之一,经常被用来判断股票的趋势。这篇文章主要介绍 MA 指标的计算方法和使用方法。

什么是 MA 指标

MA 是移动平均线 (Moving Average) 的缩写,简称「均线」,代表过去一段时间内股票的平均价格。

计算方法

均线的计算方法相对简单。它是在一定时期内股票收盘价的平均值。

以下是计算均线的基本步骤:

  1. 选择一个时间段:这个时间段可以是任何你选择的连续天数。常用的有 5 日、10 日、20 日、60 日、120 日、240 日等。

  2. 加总这个时间段内的收盘价:例如,如果你正在计算 10 日均线,你就需要把过去 10 天的收盘价加总起来。

  3. 除以天数:然后,你把步骤 2 中得到的总和除以你选择的天数。例如,如果你在计算 10 日均线,你就需要把总和除以 10。

这个结果就是你选择的时间段内的均线值。

例如,计算 5 日均线的公式为:

1
MA5 = (P1 + P2 + P3 + P4 + P5) / 5

其中,P1、P2、P3、P4、P5 分别代表最近 5 天的收盘价。

需要注意的是,均线每天都在变动,因为每天都有新的收盘价加入计算,同时最早的收盘价被排除出去。

使用目的

均线的主要目的是帮助投资者理解股票价格的趋势。它可以提供以下几种重要信息:

趋势判断

当股票价格持续高于某一均线,特别是长期均线,如 50 日或 200 日均线,就可以认为股票可能处于上升趋势中。相反,如果股票价格持续低于某一均线,就可能处于下降趋势中。

买卖信号

短期均线和长期均线的交叉通常被视为买卖信号:

支撑和阻力

支撑:均线有时也被视为可能的支撑或阻力水平。如果股票价格下跌到某个均线,并在那里停止下跌或反弹,那么这个均线可能就是一个支撑线。

阻力:相反,如果股票价格上升到某个均线,并在那里停止上涨或开始回落,那么这个均线可能就是一个阻力线。

价格与均线的偏离程度

价格与均线的偏离程度也能提供一些信息。

使用方法

简介

常用的均线有以下几种:

根据你的风险偏好和投资周期,你可以选择不同的均线来判断股票的趋势,策略如下:

策略 超短线 短线 中线 长线
交易时间 日内 几天 几周 几个月
使用均线 1 分、5 分、16 分、60 分 3 日、5 日 20 日、60 日 120 日、240 日

另外:

单一均线交易法

一周左右的短线我们主要看 5 日、10 日、20 日均线。单一均线交易法是指我们选一个均线,比如 5 日均线,然后根据这个均线的走势来判断买卖。

看一下中国科传的例子:

原则:

真假金叉

我们知道短均线(MA5、MA10)从下往上穿过长均线(MA20、MA60)时,称之为金叉,是买入信号;反之,称之为死叉,是卖出信号。

如上图 1 所示,MA5 从下往上穿过 MA20,股价也随之上涨,这是一个典型的金叉买入信号。

但是有时候并不是这样的,比如上图 2 的位置,MA5 从下往上穿过 MA20,但是股价并没有上涨,反而下跌了。因为此时长均线 MA20 仍然向下,这种情况我们称之为假金叉,不可盲目买入。

注意事项

需要注意的是,均线是延后指标,意味着它基于过去的数据。因此,它不能预测未来价格,只能提供对当前市场趋势的理解。

同时,任何技术指标都不能保证 100% 的准确性,因此在使用均线时,投资者还需要结合其他技术指标和市场信息。以下是一些可能导致均线失效的情况:

震荡市场

在震荡或横盘的市场中,股票价格可能会频繁地在均线上下穿越,导致均线生成的买卖信号失效。在这种市场环境中,均线往往会产生许多假信号,使得投资者反复买入和卖出,增加交易成本。

市场新闻或突发事件

重大的市场新闻或突发事件,如公司的财报发布、突然的经济政策变动、大规模的市场恐慌等,都可能导致股票价格短时间内大幅波动,这种情况下,均线可能无法及时反应这些变化。

短期极端价格波动

如果股票价格在短期内发生极端波动,比如由于市场操纵或其他非常规行为导致的大幅度价格波动,那么均线也可能失效,因为它是基于过去一段时间的平均价格计算的,可能无法反映出这种短期内的极端变动。

总结

均线是一种简单而有效的技术指标,它可以帮助投资者更好地理解市场趋势,从而做出更好的投资决策。在使用均线时,投资者需要注意以下几点:

如何你看完本篇文章有任何疑问或者建议,欢迎在下方留言,我会及时回复。

如何通过逼空来赚钱?

2023-05-10 12:49:00

引言

逼空是一种投资策略,它的目的是通过买入股票来迫使空头平仓,从而推高股价。逼空是一种高风险高回报的投资策略,它的风险在于,如果空头不平仓,那么逼空者将会面临巨大的损失。

这篇文章将会介绍逼空的原理,以及如何通过逼空来赚钱。

什么是做空?

在讲逼空之前我们要先了解什么是做空?做空是一种投资策略,当你看空某个股票的时候,预期其股价接下来会下跌,那么你就可以通过做空来赚钱。

做空有两种方式,一种是买看跌期权一种是直接卖股票,我们这里只针对后者进行讨论。

做空股票,操作上你可以直接在券商平仓卖出股票,即向市场借入股票,日后归还股票就可以了。这个过程中券商会向你收取利息,直到你归还股票为止。

什么是逼空?

当被大量做空的股票其价格上涨而不是下跌的时候,就会出现逼空的情况。比如,一家公司的股票预计将下跌,但却收到了一份重要的好消息,股价就会飙升。

在这种情况下,空头卖方将面临巨大的损失,因为他们必须在合约到期日购买他们最初借来的股票。空头卖方将不得不购买股票以平仓,从而推高股票价格。

所以逼空最关键的是利好消息,这个消息可以是公司的业绩,也可以是公司的重大事件,比如收购,或者是公司的重大合作。让空头短期面临压力,从而迫使他们平仓。

逼空的利弊

参与逼空有利有弊。让我们看一下这种投资策略的优缺点:

优点

缺点:

预测逼空

预测逼空的时机可能会具有挑战性。以下是一些指标,可以用来预测逼空何时到来:

看一个实例

GME 2021-01-25 被逼空,那个时候散户联合起来搞机构,散户的钱都是美联储疫情发的,所以他们不在乎。另外需要注意的是逼空行情不适合长期持有,因为逼空的股票基本面都不好,所以逼空的时候要及时出货。

我应该参与逼空吗?

随着无限利润的可能性,参与逼空可能既刺激又有利可图,看上去是一个不错的策略。然而逼空也可能对空头持有人和卖家都带来风险。如果你决定参与这些更高风险的动作,记住永远不要投资超过你能承受损失的金额。

我是如何参与逼空的

赌突发新闻太难了,所以我觉得赌财报日是一个不错的选择。被严重做空的股票有一个特点,如果有利好消息,股价会暴涨,比如我最近观察并且有参与的股票有:

当然也有财报不行,然后继续跌的,但是如果涨的话一般都是暴涨。所以我觉得财报前买一张末日 CALL 是一个不错的选择,虽然期权的 IV 值比较高,但是我觉得还是值得的。

关注高空头利息百分比,当某个股票的空头利息百分比超过 30% 的时候,我会关注这个股票,然后看看财报日,财报日前,我会买一张末日 CALL 当彩票,这个钱要做好归零的打算,所以不要投入太多。

查看被做空的股票

PS:前两个网站数据每两周更新一次,后面两个网站没看到更新说明。

总结

逼空是一种高风险的投资策略,但如果您能够正确地预测逼空的时机,它可能会带来巨大的回报。选择财报日逼空是一个不错的选择,另外需要注意的是,逼空的股票基本面都不好,所以逼空的时候要及时出货。

本地多 GitHub 账号使用

2023-04-17 13:33:00

引言

如果你在公司也试用 Github 托管代码的话,你可能会遇到一个问题,本地同时使用你的个人账号和公司账号。

那么本篇文章就为你分享如何在本地同时使用多个 Github 账号。

SSH 配置

生成工作需要的 ssh

这里默认你已经有了个人的 ssh 密钥,如果没有的话,你需要先生成个人的 ssh 密钥。

1
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/work

配置 host

1
vim ~/.ssh/config
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Host *
    ServerAliveInterval 60

#default github
Host github.com
    HostName github.com
    IdentityFile ~/.ssh/id_rsa

Host w.github.com
    HostName github.com
    IdentityFile ~/.ssh/work

使用

如果要使用 work 密钥,则这样 clone 代码

1
git clone [email protected]:work/xxx.git

配置 Git User 问题

先取消全局 可选操作

1
2
git config --global --unset user.name 
git config --global --unset user.email

配制个人 SSH

1
vim ~/.gitconfig
1
2
3
4
5
6
[user]
    name = forecho
    email = [email protected]

[includeIf "gitdir:~/work/"]
    path = ~/work/.gitconfig

工作目录单独设置

1
vim ~/work/.gitconfig
1
2
3
[user]
    name = work
    email = [email protected]

检查

1
git config --list

市场净流量:金融交易中的关键工具与策略

2023-03-19 10:06:00

引言

市场净流量是一种金融交易中的关键工具,用于评估市场中的多空情绪。通过综合分析市场净流量、技术分析和其他交易策略,交易者可以更准确地预测市场走势并做出更明智的投资决策。

本文将详细介绍市场净流量的概念、如何分析市场净流量以及如何将其与其他交易策略结合使用。

最后,本文还将介绍 Tradytics 的市场净流量指标的使用方法,帮助交易者更好地分析市场净流量。

市场净流量的概念与重要性

市场净流量(Market Netflow)是一种基于期权交易数据的指标,用于评估市场中的多空情绪。它通过比较看涨期权和看跌期权的交易量来测量市场的乐观或悲观程度。

市场净流量在金融交易中的重要性在于,它可以帮助交易者更准确地预测市场走势,从而提高交易决策的准确性。

此外,市场净流量还可以与其他交易策略结合使用,为交易者提供更全面的市场分析。

分析市场净流量的方法与注意事项

将市场净流量与其他交易策略结合使用

Tradytics 的市场净流量指标

  1. 最近几天的数据,默认是 1 天
  2. 动能指标,用于评估市场的多空情绪(默认是 60 分钟的趋势),一个可以用来进入和退出市场的简单技术指标。
  3. 到期时间:筛选出所有距今天 x 天的期权,可以使用此功能仅查看短期期权的净流量,以预测非常短期的动向,默认是无限制,即所有期权。
  4. Cumulative Net Prems:累计净期权费用,负数看跌,正数看涨。
  5. 负数的 Algo Flow 是红色,代表看跌的
  6. 正数的 Algo Flow 是绿色,代表看涨的
  7. 关注红绿线的交叉点,红线向上穿过绿线,代表看跌的力量变强,可以做空;绿线向上穿过红线,代表看涨的力量变强,可以做多。
  8. 点击代表使用 Markete Net Flow 将动量作为您的技术指标。
  9. 一些动能指标的信号,如 9 所示,这些信号可以作为交易的参考。

Algo Flow 是一个金融市场分析工具,它帮助交易者在股票、期权、ETF 等交易中识别市场情绪、成交量和买卖力量的变化。Algo Flow 通过分析大量的交易数据,尤其是市场参与者的成交量、价格行为和持仓变化,为交易者提供有关市场趋势和潜在交易机会的信息。

另外,需要说明的是:

使用场景

看懂了市场净流量的概念和使用方法,接下来就是如何运用市场净流量指标进行交易。

选一个月之后到期的 SPY 期权交易,看看市场净流量的走势。重点关注 Algo Flow,当 Algo Flow 为负数时,代表看跌的力量较强,可以做空;当 Algo Flow 为正数时,代表看涨的力量较强,可以做多。简单点的话就选择一个方向,只买 CALL 或者 PUT,根据市场净流量图来回做波段。

SPY 期权流动性足够好,一个月到期的期权容错性高,风险低。

缺点就是需要盯盘,有点累。

总结

市场净流量是一种重要的金融交易工具,可以帮助交易者更准确地评估市场中的多空情绪。通过结合市场净流量、技术分析和其他交易策略,交易者可以提高交易决策的准确性,并实现更高的投资回报。

此外,交易者还可以利用历史市场净流量数据进行回测,以优化自己的交易策略。

总之,市场净流量是金融交易中的一种关键工具,值得交易者重视和运用。

使用 Tradytics 进行日内期权交易

2023-03-11 10:40:00

引言

前一段时间和几个朋友以一个非常低的价格拼车买了 Tradytics 的会员,一有时间我就研究如何使用,虽然 Tradytics 太复杂了,但是有很多有用的数据,可以帮我们看清目前的市场状况,然后做出正确的交易决策。

我会把我学到的东西分享出来,希望能帮助到大家。系列文章点击 Tradytics 查看。

Tradytics 是什么?

Tradytics 是一个人工智能驱动的交易平台,提供了各种工具来帮助我们在市场上获得优势,它每天分析超过一百万个数据点,来自期权流量、股票日内数据、新闻、内部交易等。

基于这些分析,通过专有人工智能算法,提取有用信息,帮助我们提前评估市场走向。

找到日内期权交易的标的

了解期权市场摘要

访问 Options Market 了解市场的详细视图和统计数据,将有助于我们选择合适的交易方向。

上图是汇总的市场净流量是将市场中所有股票的净保证金与 SPY 股价进行比较,可用于预测市场方向。点是基于动量的进入点。请观看视频指南了解更多详情。

我认为这是 Tradytics 最有用的功能之一,因为它可以帮助我们快速了解市场的走向。

顶级期权流量

从「TOP OPTIONS FLOW」开始:

  1. 每日最佳期权流向:每日具有最高和最低权利金的股票。净权利金是看涨和看跌头寸之间的差额。

  2. 每周热门期权流量:每周具有最高和最低净权利金的股票。净权利金是认购期权权利金与认沽期权权利金之差。

顶级期权溢价

  1. 成交量变化最大的 CALL:相对于过去 7 天平均数,CALL 成交量变化最大的股票。
  2. 成交量变化最大的 PUT:相对于过去 7 天平均数,PUT 成交量变化最大的股票。
  3. 权利金变化最大的 CALL:相对于过去 7 天平均数,CALL 权利金变化最大的股票。
  4. 权利金变化最大的 PUT:相对于过去 7 天平均数,PUT 权利金变化最大的股票。

观察这几个数据,从中挑选出你要交易的期权标的。

最大流量的期权

大流量期权数据显示极其庞大的期权订单,鼠标悬停在图表上,可以看到具体的数据。

这有时可以展示聪明资金、对冲或内部知情者的行为。

便宜的期权

钱不够多,但是想交易期权?这里有一些价格低但交易量大的期权。如果你想避免时间价值损失,可以选择 LEAPs(长期股票期权) 。

  1. 临近到期的高交易量期权:这些期权通常很快到期,这种期权时间价值损失很快。
  2. 到期日在几个月后的高交易量期权:这些期权的时间价值损失很慢,因为到期日很远。

分析具体的期权

期权交易概况

使用 Options Dashboard 的搜索功能查看具体股票期权交易情况和概况。

  1. 每日保证金热力图:TSLA 热力图展示了在顶级行权价和到期日上花费的每日净保证金。
  2. 每周保证金热力图:TSLA 热力图展示了在顶级行权价和到期日上花费的每周净保证金。
  3. 历史净保证金:TSLA 每日看涨和看跌期权的净保证金。净保证金是买入头寸支出的保证金减去卖出头寸支出的保证金。 4.净流量:历史净流量显示累计的看涨和看跌期权保证金,是从算法流派中得出的。目前显示 1 天的净流量。

成交量和持仓量热力图

TSLA 在各个行权价和到期日的成交量和未平仓合约指标。当前选择为净值,即看涨期权未平仓合约数减去看跌期权未平仓合约数。

图片右上角可以选择其他指标以及筛选条件。

具体期权合约

  1. 最大的订单:按总权利金支出计算,TSLA 的最大订单。鼠标悬停在图表上,可以看到具体的数据。
  2. 不寻常的合约:在成交量高于持仓量方面最不寻常的订单。鼠标悬停在图表上,可以看到具体的数据。
  3. 成交量最大的 CALLS:按成交量和已支付保证金计算的 TSLA CALL 中的最大期权 - 仅考虑购买头寸。
  4. 成交量最大的 PUTS:按成交量和已支付保证金计算的 TSLA PUT 中的最大期权 - 仅考虑购买头寸。

最后,这里只列举了部份,其他的数据可以去 Options Dashboard 自行查看。

Bullseye

Bullseye 是基于人工智能的直接预测期权合约价格是否会上涨或下跌。

  1. 自警报发布以来,合同价格变化了多少?

从图中我们看出,其实胜率不高,需要待观察。

买卖时机

Tradytics 的 Stocks Dashboard 拥有一个买卖点算法引擎,使用移动平均线和自动生成的支撑阻力线来建议买入和卖出的时机。

更多可以参考《用 Tradytics 日交易》 这篇文章找到支撑和阻力线。根据这些线,我们可以找到买卖时机。

最后

Tradytics 是一个非常好的工具,可以帮助我们更好的分析期权和股票。但是,我们还是要注意,这些数据只是辅助,不是决定性的,我们还是要结合自己的分析和判断。也不要因为一个指标而做出决定,要结合多个指标,才能更好的分析。

从智能合约到发行 NFT

2023-03-05 15:09:00

引言

这两年 NFT 非常火,但是我一直没有系统的去了解过,今年准备好好学习 WEB3.0 相关的知识,所以就从智能合约和 NFT 入手了。

这篇文章主要是记录我学习智能合约和 NFT 的过程,分享一些学习资料,希望能帮助到大家。

智能合约

起源

特点

工作原理

智能合约基于区块链技术和分布式计算技术实现。

智能合约被编写为一段计算机程序代码,并被部署在区块链上的智能合约平台中。当用户想要执行一个智能合约时,他们会向合约发送一个交易请求,智能合约会对交易请求进行验证和执行相应的程序代码,并将结果写入区块链上的交易记录中。

智能合约的执行结果会被广播到整个区块链网络中,所有节点进行验证和确认,最终被写入区块链上的区块中。

智能合约具有去中心化、不可篡改、自我执行、高度安全等特点。

与传统合约区别

特点 传统合约 智能合约
执行方式 人工执行 自动执行
中心化程度 中心化 去中心化
可信度 风险较高 高度可信
成本和效率 成本高、效率低 成本低、效率高
应用范围 法律和商业领域 广泛应用

应用

智能合约在什么地方有应用

Ethereum 与智能合约的关系

Ethereum(ETH)是一种基于区块链技术的数字货币,同时也是一种开源的区块链平台,其中最重要的功能之一就是支持智能合约的开发和运行。因此,ETH 和智能合约有着密切的关系。

ETH 通过引入智能合约技术,使得开发者可以在区块链上编写和运行自己的应用程序,这些应用程序被称为「去中心化应用(DApps)」。智能合约是这些 DApps 的核心组件,它们是一种能够自动执行合约条款的计算机程序,其执行过程基于区块链上的共识机制,并且可以实现可信的去中心化的交易和信息交互。

因此,ETH 和智能合约的结合,使得 ETH 平台上可以实现各种去中心化的应用,例如数字货币交易、投资管理、分布式市场、金融衍生品、电子投票、数字身份认证等,这些应用都依赖于智能合约来实现自动化的执行和管理。所以说,智能合约是 ETH 平台的重要组成部分,也是 ETH 成功的重要原因之一。

如何编写智能合约

编程语言

智能合约的编程语言有很多种,但是目前最常用的是 Solidity。其他还有:

开发环境

Solidity

Solidity 是一种面向对象的、基于合约的、高级的、静态类型的、通用的、编译型的、类 C 风格的语言,它是一种用于编写智能合约的语言。

这门编程语言总共包含四种不同的重要元素,Contract、Variable、Function 和 Event。

Contract Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.8.2 <0.9.0;

/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 * @custom:dev-run-script ./scripts/deploy_with_ethers.ts
 */
contract Storage {

    uint256 number;

    /**
     * @dev Store value in variable
     * @param num value to store
     */
    function store(uint256 num) public {
        number = num;
    }

    /**
     * @dev Return value 
     * @return value of 'number'
     */
    function retrieve() public view returns (uint256){
        return number;
    }
}

开头写明合约协议,接着要写 solidity 版本号,这个合约的功能是存储和读取一个数字,这个数字是一个 uint256 类型的,也就是 256 位的无符号整数,这个数字可以被任何人存储和读取。

ABI

ABI(Application Binary Interface 是指在两个不同程序之间进行交互的规范,其定义了函数调用的参数、返回值、异常处理等方面的约定。

在以太坊中,ABI 是指用于定义智能合约与外部世界进行交互的规范。智能合约在部署时会生成一个 ABI,其他应用程序可以通过 ABI 来与智能合约进行交互。

ABI 定义了智能合约的接口,包括智能合约的函数名、参数类型和返回值类型等信息,通过 ABI,外部应用程序可以调用智能合约中的函数,并获得相应的返回值。

通常,编写智能合约时会生成一个 ABI 文件,我们可以将这个文件提供给客户端库,以便客户端库生成相应的接口,来与智能合约进行交互。

发布

合约一般先发布到测试网络,测试通过后再发布到主网。发布之前我们需要准备:

步骤:

任何操作都可以看日志输出的信息,发布成功之后可以去 Etherscan 查看合约信息。可以查看我发布的合约

OpenZeppelin

OpenZeppelin 是一个开源的以太坊智能合约开发库,提供安全、可靠和易于使用的智能合约组件和工具,帮助开发者构建更安全的智能合约。它提供了许多常用的智能合约组件,例如 ERC20、ERC721、SafeMath、AccessControl 等,可以帮助开发者减少重复造轮子的时间和成本,同时提高智能合约的安全性。

NFT 合约

通过 OpenZeppelin 生成我们 NFT 的初始化代码,代码复制到 Remix

然后修改代码,通过编译检查代码,然后发布。

测试合约:

这个就是我发布的 NFT。

当然我上面为了演示效果,搞清楚流程。实际的合约代码要比这个复杂的多,最主要的是还要考虑安全性,并且还要做一些限制等等,以后有机会再进一步研究分享。

智能合约都是开源的,附上两个智能合约链接,有兴趣可以研究研究。

总结

本文主要介绍了智能合约和 NFT 的一些基础知识,并且通过实践演示了如何发布一个 NFT 合约,搞清楚了发布流程。

参考

重新了解美股市场

2023-03-04 15:29:00

引言

玩了几年美股,以前都没好好了解美股市场,直到去年熊市才开始疯狂学习美股市场。我打算出一系列学习美股的文章,这是此系列的第一篇。

如果你是一个美股新手,那么这篇文章适合你。

为什么投资美股?

股票市场

根据 Statista 提供的数据,截至 2022 年 1 月,全球最大股票市场的国家分布,按总世界股权市值占比划分。美股市场是世界上最大的股票市场,它的市值是全球股票市场的 60%(接近)。而中国股市的市值不到 4%,差距非常大。

全球市值最大的 10 家公司

根据 CompaniesMarketCap 网站提供的数据,截至 2023 年 3 月 3 日,全球市值最大的 10 家公司有 9 家来自于美国。前 20 名,算是台积电 (11 名) 的话,也只有三个,另外两个分别是腾讯(13 名)和茅台(20 名)。

由此可见,美股市场的市值和影响力是非常大的。如果你想要在股市里面赚钱,那么美股市场是你必须要了解的。

交易所

截至 2022 年 6 月,按电子订单股票交易的价值计算,全球最大的证券交易所排名。纽交所是全球最大的股票交易所,纳斯达克是全球第二大的股票交易所。

投资美股的优点?

投资美国股市有很多优点,以下是其中一些主要的优点:

潜在的高回报

美国股市中有许多高增长和高盈利的公司,这些公司的股票价格可能会随着时间的推移而大幅上涨,从而使投资者获得高回报。

多样化的投资机会

美国股市中有许多不同的行业和公司,投资者可以通过购买不同的股票,实现对不同行业和公司的多样化投资。

市场流动性

美国股市是全球最大、最活跃的股票市场之一,市场的流动性非常高,投资者可以随时买卖股票,方便快捷。

市场透明度

美国股市的交易信息和公司财务信息非常透明,投资者可以通过各种渠道获得公司的财务报表、分析报告和市场研究报告等信息,从而做出更明智的投资决策。

稳定的法律和政治环境

美国拥有稳定的法律和政治环境,股市监管机构对市场进行严格监管,保护投资者的权益,从而提高了投资的安全性。

税收优惠

美国政府为股市投资者提供了一些税收优惠政策,例如长期资本利得税率较低等,这些政策可以帮助投资者降低税收负担,提高投资回报。

特别是中国人炒美股,根本不用交税。

散户与机构

根据交易量和资产规模的差异,可以将美国股市的投资者分为散户投资者和机构投资者。

散户投资者通常是个人投资者,他们投资的资金规模较小,交易量相对较低。根据美国证券交易委员会(SEC)的定义,散户投资者的资产净值不超过 100 万美元。

机构投资者通常是机构或组织投资者,他们投资的资金规模较大,交易量相对较高。机构投资者包括投资银行、对冲基金、养老基金、共同基金等。根据 SEC 的定义,机构投资者的资产净值超过 100 万美元。

据统计,目前美国股市散户投资者的数量超过 1 亿人,占总投资者数量的大部分。而机构投资者的资产规模较大,持股比例也相对较高,他们在市场上的影响力也很大。同时,还有一些大型投资者,如对冲基金和私募股权基金,他们对市场的影响也非常显著。

说了这些是想说:

散户就不要想着和机构抗衡了,你只能选择跟着机构的脚步喝口汤。

交易所

纽交所 && 纳斯达克

美国股市有两个主要的交易所,分别是纽约证券交易所(NYSE)和纳斯达克证券交易所(NASDAQ)。

粉单

另外,被退市的股票现在只能在粉单交易所进行交易,例如滴滴和瑞幸咖啡。然而,粉单股票存在高风险、不受监管、容易被操纵以及流动性不足等特点,并不适合大多数投资者选择。

投资者应该注意风险,并选择更稳定、成熟的公司进行投资,在进行充分的基本面和技术分析后做出决策。如果仍想投资粉单股票,则应保持谨慎态度,了解公司情况并制定合理的风险控制策略。

总结:远离毛票、粉单,只交易纳斯达克和纽交所上市的股票,不要只投资中概股。

美股市场

按照因子类型分类

按照因子类型对美股市场进行分类。可以分为以下几类:

价值股

指股票价格低于其内在价值的股票。价值投资者通常会寻找具有低市盈率、低市净率等价值因子的公司股票,认为这些公司股票的价格较低,有更大的上涨潜力。价值股市场通常包括金融、能源、消费品等行业。

成长股

指具有高增长潜力的公司股票。成长投资者通常会寻找具有高盈利增长率、高预期收益率等因子的公司股票,认为这些公司的未来增长潜力很大。成长股市场通常包括科技、医药、通信等行业。

质量股

指具有良好的财务状况和盈利能力的公司股票。质量投资者通常会寻找具有稳定的盈利、健康的现金流等因子的公司股票,认为这些公司更加稳健可靠。质量股市场通常包括消费品、医药、能源等行业。

动量股

指股票价格具有上涨趋势的股票。动量投资者通常会寻找具有过去强劲表现、近期涨幅较大等因子的公司股票,认为这些股票会继续上涨。动量股市场通常包括科技、消费品、工业等行业。

对应的 ETF

因子 ETF
大型价值 IVV
中型价值 IWS
小型价值 IWN
大型成长 IVW
中型成长 IJH
小型成长 IWO

价值股 VS 成长股

价值股特点:

成长股特点:

总结:来起来看,投资价值股的收益高于成长股。选哪个?根据你自己的性格,风格来选,两个投资风格非常对立。

常用的指数

常用的指数 代码 相关 ETF 说明
标普 500 SPX SPY、VOO、IVV 一个由 500 家大型美国公司的股票组成的股票指数,代表着美国股市的大部分市值
道琼斯 DJI DIA 一个由 30 家大型美国公司的股票组成的股票指数,代表着美国工业领域的市值
纳斯达克 100 NDX QQQ 由纳斯达克股票市场上前 100 家市值最大、最活跃的非金融公司股票组成的指数
罗素 2000 RUT IWM 由美国股票市场上前 2000 家市值最小的公司股票组成
恐慌指数 VIX VXX 旨在跟踪 S&P 500 指数波动率指数(VIX)期货合约的表现,以提供对市场恐慌情绪的投资暴露

其他资产

其他资产 ETF 代码 说明
10 年国债收益率 IEF 与 ETF 是倒数关系
20-30 年期国债收益率 TLT 与 ETF 是倒数关系
美元指数 UUP
黄金 GLD
CPER 对经济先行指标
原油 USO
天然气 UNG

外部因素

影响美股大盘的主要外部因素:

美股行业

11 大类行业

美股主要分 11 大类行业:

行业板块 ETF
科技 XLK
电信通讯 XLC
健康医疗 XLV
必须消费品 XLP
非必须消费品 XLY
公共事业 XLU
材料 XLB
金融 XLF
工业 XLI
房地产 XLRE
能源 XLE

工具

Koyfin

Koyfin 提供了金融市场数据分析,是一个了解市场大盘走势很好的工具,免费版基本够用。

Finviz

Finviz 的 S&P 500 Map 可以查看每天大盘的整体行情。

Breadth

使用 Breadth 可以查看每天大盘的整体市场宽度。

什么是市场宽度?

一个稳健的牛市,应该是大部分股都上涨,如果仅有少部分个股上涨来带动大盘上涨,那么这样的市场就是两极分化,其实是不稳定的,同样的,真正的熊市,也应该是大部分股票在跌,而不是个别股票导致大盘下跌。

所以分析师们设计了一些市场宽度指标,它们不是用于判断个股,而是通过统计大量的股票上涨和下跌情况,用于判断到底是个别股的作用,还是大部分股的共同作用,来影响了大盘走势。

Breadth 指标

总结

美股是一个非常复杂的市场,同时也是一个非常完善的市场,我们要学会分析大盘,分析因子,分析板块,分析个股,我们可以每天分析、总结大盘走势,以及预判股票未来走势,虽然你的预判不一定准备,但是你可以训练你自己,提高准确率。

每天可以问自己两个问题:

分析大盘、因子了解资金的流向,个股不重要。